﻿<Serializable()> Public Class Aermet
    Implements ICloneable



    Private m_Stage2 As New Stage2
    Private m_Stage3 As New Stage3
    Private m_StageStep As Integer = 1 '初始化为第二步
    Private m_IsSaved As Boolean = False '保存标志
    Private m_SaveName As String = "未命名"
    Private m_AermetProgram As Integer = 0 '表示用户采用的程序。0表示采用原始的Aermet.exe,1表示采用修改后的HanAn_Aermet.exe。
    Private m_Run As Boolean = True

#Region "属性"


    Property Stage2() As Stage2
        Get
            Return Me.m_Stage2
        End Get
        Set(ByVal value As Stage2)
            Me.m_Stage2 = value
        End Set
    End Property
    Property Stage3() As Stage3
        Get
            Return Me.m_Stage3
        End Get
        Set(ByVal value As Stage3)
            Me.m_Stage3 = value
        End Set
    End Property
    ''' <summary>
    ''' 用于标识程序运行的步骤
    ''' </summary>
    ''' <value></value>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Property Stagestep() As Integer
        Get
            Return Me.m_StageStep
        End Get
        Set(ByVal value As Integer)
            Me.m_StageStep = value
        End Set
    End Property

    ''' <summary>
    ''' 保存标志
    ''' </summary>
    ''' <value></value>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Property IsSaved() As Boolean
        Get
            Return Me.m_IsSaved
        End Get
        Set(ByVal value As Boolean)
            Me.m_IsSaved = value
        End Set
    End Property

    ''' <summary>
    ''' 保存文件的名称
    ''' </summary>
    ''' <value></value>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Property SaveName() As String
        Get
            Return Me.m_SaveName
        End Get
        Set(ByVal value As String)
            Me.m_SaveName = value
        End Set
    End Property
    Property AermetProgram() As Integer  '表示用户采用的程序。0表示采用原始的Aermet.exe,1表示采用修改后的HanAn_Aermet.exe。
        Get
            Return Me.m_AermetProgram
        End Get
        Set(ByVal value As Integer)
            Me.m_AermetProgram = value
        End Set
    End Property

    ''' <summary>
    ''' 是否运行程序
    ''' </summary>
    ''' <value></value>
    ''' <returns></returns>
    ''' <remarks></remarks>
    Property Run() As Boolean
        Get
            Return m_Run
        End Get
        Set(ByVal value As Boolean)
            m_Run = value
        End Set
    End Property

#End Region


    Public Function Clone() As Object Implements System.ICloneable.Clone
        Dim objCopy As New Aermet()
        objCopy.m_Stage2 = Me.m_Stage2.Clone
        objCopy.m_Stage3 = Me.Stage3.Clone
        objCopy.m_StageStep = Me.m_StageStep
        objCopy.m_IsSaved = Me.m_IsSaved
        objCopy.m_SaveName = Me.m_SaveName '输出选项类
        objCopy.m_AermetProgram = Me.m_AermetProgram
        objCopy.m_Run = Me.m_Run
        Return objCopy
    End Function
End Class
